from pydantic import BaseModel, Field


class TokenTextSplitterConfig(BaseModel):
    """
    用于配置 LlamaIndex TokenTextSplitter 的动态参数模型。
    """
    chunk_size: int = Field(1024, description="每个文本块的目标大小 (以 token 计)")
    chunk_overlap: int = Field(200, description="相邻文本块之间的重叠大小 (以 token 计)")
    separator: str = Field(" ", description="用于在文本中进行初步切分的字符串")
    include_prev_next_rel: bool = Field(
        True,
        description="是否在节点之间自动建立 'previous' 和 'next' 的关系链接。"
    )

    class Config:
        frozen = True 